高级算法之Markov Chain Monte Carlo methods

Markov Chain Monte Carlo(MCMC) methods

问题: 样本空间$U$, 子集$S\subset U$, $\rho=|S|/|U|$, 假设有一个从$U$中的均匀随机采样器, 估计$Z=|S|$.

蒙特卡洛法:

从$U$中独立均匀随机采样$X_1, X_2,\cdots,X_N$,

Estimator Theorem:

$N\ge \frac{4}{\epsilon^2\rho}\ln \frac{2}{\delta}$, 则$\Pr[\hat Z\text{ is }\epsilon\text{-approx of }|S|]\ge 1-\delta$, 即$\Pr[(1-\epsilon)Z\le \hat Z\le (1+\epsilon)Z]\ge 1-\delta$.
证明直接使用Chernoff Bound:
令$Y=\sum_{i=1}^NY_i$, $\mathbb E[Y]=\rho N$,

另一个方向同理(概率小于等于$e^{-\epsilon^2\rho n/2}$).

Counting DNF Solutions

输入: DNF公式$\phi: \{T,F\}^n\to\{T,F\}$
输出: 满足解的个数$Z=|\phi^{-1}(T)|$

  • n个布尔变量: $x_1, x_2,\cdots,x_n\in\{\text{true, false}\}$
  • DNF: $\phi=C_1\lor C_2\lor \cdots\lor C_m$
  • m个子句$C_1,\cdots,C_m$
  • 每个子句为$C_i=l_{i_1}\land l_{i_2}\land\cdots\land l_{i_k}$
  • 每个文字: $l_j\in\{x_r,\neg x_r\}$对于某个$r$
    数DNF是$# P$难的(比NP难还难)
  • $U=\{T,F\}^n$, $S=\{x\in\{T,F\}^n|\phi(x)\}=\phi^{-1}(T)$
  • $\rho$可能是指数小的. 例如当DNF是一个很大的子句时

Union of sets

输入: $m$个集合$S_1,S_2,\cdots, S_m$, 估计集合$S=\cup_{i=1}^m S_i$的大小
定义:

  • $U=S_1\biguplus S_2 \biguplus \cdots\biguplus S_m=\{(x,i)|x\in S_{i}\}$,
  • $U=\{(x,i^{*})|x\in S_{i^{*}}\text{ and }x\in S_i=>i^{*}\le i\}$
    ($i^{*}$是最小的那个),
    则$|\overline S|=|S|$, $\overline S\subseteq U$, $\rho = \frac{|\overline S|}{|U|}\ge \frac{1}{m}$

蒙特卡洛方法:

  • 均匀采样$(x,i)\in U$ ($N=\Theta(\frac{m}{\epsilon^2}\ln \frac{1}{\delta})$次独立的). 对于每个采样, 判断是否有$(x,i)\in\overline S$.
    并且要统计每个$S_i$的大小, 加起来得到$|U|$, 然而使用Estimator Theorem即可.
    $\rho=\frac{|\overline S|}{|U|}\ge 1/m$是因为$\overline S$中每个元素至多在$U$中出现m次

CSP均匀采样的两种方法

输入一个CSP实例, 采样一个均匀随机的CSP解.

Metropolis Algorithm:

初始: 一个任意的CSP解;
每一步当前CSP解为$\sigma=(\sigma_1,\cdots,\sigma_n)$

  • 提议: 均匀随机选择变量$i\in[n]$, $c\in[q]$;
  • 滤波: 如果改变后依然满足所有限制, 把$\sigma_i$改为$c$.
    在T步之后返回$\sigma$.
  • MCMC: 第一个MC对应随机游走, 第二个MC表示停下了的时候不是完美的, 有一定的偏置

Glauber Dynamics(Gibbs sampling)

从任意解出发

  • 随机选择$i\in[n]$
  • 根据$\sigma_i$以外的变量的当前取值, 算出$\sigma_i$的所有可行取值, 在这些可行取值中均匀随机采样, $\sigma_i$改为采样到的值.
    (根据第i个变量的条件为其他变量当前取值的边缘分布)
    在T步之后返回$\sigma$.
    这两个算法最终都收敛到均匀分布.
    收敛速率分析是很难的.

随机游走

随机过程

$\{X_t|t\in T\}$, $X_t\in \Omega$.
离散时间$T=\{0,1,\cdots\}$
离散空间$\Omega$是有穷的或者可数无穷的
$X_0,X_1,\cdots$
马尔科夫链:
$\forall t=0,1,\cdots,\forall x_0,x_1\cdots,x_{t-1},x,y\in\Omega$
$\Pr[X_{t+1}=y|X_0=x_0,\cdots,X_{t-1}=x_{t-1},X_t=x]=\Pr[X_{t+1}=y|X_t=x]=P_{xy}^{(t)}$
即和之前哪来的无关, 只和当前位置有关(无记忆的)
homogeneity: 转移规则和时间无关, 即$P_{xy}^{(t)}=P_{xy}$. 下面只考虑这种.
转移矩阵P: $\Omega\times\Omega$ 的转移矩阵$P$, 每一行加起来是1
已知$X_t$的分布, 根据全概率公式, 就可以得到$X_{t+1}$的分布, 即$P^{(t+1)}=p^{(t)}P$
稳态分布$\pi$: $\pi P=\pi$(不动点)

马尔科夫链基本定理:

如果一个有穷马尔科夫链$M=(\Omega,P)$是不可约无周期的, 那么任意初始分布$\pi^{(0)}$,

其中$\pi$是唯一的稳态分布, 满足$\pi P=\pi$
坏情况

  • 实际不连通, 有无穷多个稳态分布
  • 有周期
    不可约: 所有的状态对都是互通(强连通)的. 否则$P=\left[\begin{matrix}P_A & 0\\0&P_B\end{matrix}\right]$
    无周期性: 定义$d_x=\gcd\{t|P^t(x,x)>0\}$, 即有长为t的x到x的环. 无周期性即每个状态的周期都是1.
    1一定是右特征值, 而左特征值和右特征值是一一对应的, 所以1也是左特征值, 而左特征向量非负(Perron-Frobenius Theorem非负矩阵的最大特征值对应的特征向量一定是非负的), 所以稳态分布一定存在

图上的随机游走

无向图$G(V,E)$中:

均匀随机游走:

  • 每一步均匀随机选取一个邻居走过去
  • 转移矩阵

  • 不可约: $G$是连接的

  • 无周期: $P(x,y)>0$
    懒惰随机游走:
  • 一半概率什么都不做,
  • 一半概率随机选取一个邻居走过去
  • 转移矩阵
  • 这两种的稳态分布都是:
  • 对于均匀随机游走,
  • 对于懒惰游走, $P’=\frac{1}{2}(I+P)$, $\pi P=\pi$, 所以$\pi P’=\pi$

Reversibility

Detailed Balance Equation(DBE):

时间可逆time-reversible Markov chain:

时间可逆time-reversible Markov chain一定是stationary distribution:

时间可逆: 从$\pi$开始

在图上的游走中

  • 在$u=v$或者$u\not\sim v$时, DBE成立;
  • 在$u\sim v$时, DBE成立当

如果想要得到稳态是均匀分布, 则转移矩阵为

其中$\Delta=\max_vdeg(v)$.

Metropolis Algorithm

  • 状态空间$\Omega$上的对称的转移矩阵$Q$:
    $Q^T=Q$, $Q1=1$ ==> $1Q=1$ 稳态分布
  • 每一步中, 当前状态是$x\in \Omega$
    • 提议: 以概率$Q(x,y)$提议$y\in \Omega$
    • 滤波: 接受提议, 以概率$\min\{1,\pi(y)/\pi(x)\}$移动到$y$
  • 对于$x\ne y$, $P(x,y)=Q(x,y)\min\{1,\frac{\pi(x)}{\pi(y)}\}$
  • 对于$x=y$, $P(x,x)=1-\sum_{y\ne x}P(x,y)$.
  • 满足DBE, 是均匀稳态分布

Glauber Dynamics

每一步中, 当前状态是$X=(X_1,\cdots,X_n)$:

  • 均匀随机选择$i\in [n]$
  • 根据$X_i$的当前边界分布(除了$X_i$以外的都固定为当前值), 采样$X_i$
    也满足DBE, 是均匀稳态分布

Mixing Time

到达稳态的时间. 具体见讲义.